<?php

if (!isset($_SESSION)) {
    session_start();
}
include_once ("Evento.php");
include_once ("Cidade.php");
include_once ("Atividade.php");
include_once ("view_usucidcatgruins.php");
include_once 'Precoevento.php';
include_once 'view_evatcatpreco.php';

class InscricaoControle extends Controle {

    function novo() {
        $resultEvento = new Evento();
        $resultAtividade = array();
        $cidade = array('id' => '', 'nome' => "");

        $this->set("preco", array());
        $this->set("atividade", $resultAtividade);
        $this->set("data", $resultEvento);
        $this->set("cidade", $cidade);

        $this->set('title_for_layout', "Novo Evento");
    }

    function edit($id) {


        $categoria = $_SESSION['categoria'];

        $modelView = new view_evatcatpreco();
        $model = new Evento();
        $modelAtividade = new Atividade();
        $modelPrecoEvento = new Precoevento();
        $resultEvento = new Evento();
        $resultAtividade = array();
        $resultPreco = array();
        $resultView = array();
        $cidade = array('id' => '', 'nome' => "");

        $resultEvento = $model->find($id);
        $cidadeModel = new Cidade();

        $resultCidade = $cidadeModel->find($resultEvento->cidade_id);
        if ($resultCidade !== FALSE) {
            $cidade['id'] = $resultCidade->id;
            $cidade['nome'] = $resultCidade->nome . " - " . $resultCidade->uf;
        }

        $resultView = $modelView->find2(array('conditions' => array('evento_id = ' => $id, 'dataFim >=' => date("Y-m-d"), 'idCategoria=' => $categoria)
                    , 'fields' => array("MIN(dataFim) as dataFim", "nome", "valor", "nomeCategoria", "evento_id", "id")
                    , 'order' => 'nome', 'group' => array("id", "nomeCategoria")))->fetchAll();


        $resultAtividade = $modelAtividade->find2(array('conditions' => array('evento_id = ' => $id)))->fetchAll();
        $resultPreco = $modelPrecoEvento->find2(array('conditions' => array('evento_id = ' => $id),
            'fields' => array("distinct dataFim"),
            'order' => 'dataFim'));
//        $cont = count($resultAtividade);
//        if ($cont == 0){
//            $resultAtividade = array();
//        }
        //Variaveis que ficariam disponiveis na view
        $this->set("resultView", $resultView);
        $this->set("preco", $resultPreco);
        $this->set("atividade", $resultAtividade);
        $this->set("data", $resultEvento);
        $this->set("cidade", $cidade);
        $this->set('title_for_layout', $resultEvento->nome);

        $this->render("novo");
    }

    function salvar() {

        $viewModel = new view_evatcatpreco();

        $tamanho = $_POST["cursos"];

        $msg = implode(",", $tamanho);
//        print $msg;
//        print $_SESSION['categoria'];
//        print $_SESSION['usuario_id'];
//        exit();

        $viewModel->execute('sp_inscricao', array($this->data['evento_id'], $_SESSION['usuario_id'], "$msg", date("Y-m-d")));

        $model = new Evento();
        $resultado = $model->findAll();

        $this->set(array("resultado", "title_for_layout"), array($resultado, "Lista eventos - Sistema de Eventos"));

        $this->render("index");
    }

    function excluir($idEvento = NULL) {
        $model = new Evento();


        if ($model->delete($idEvento)) {
            $this->set('success', "O evento com id {$idEvento} foi excluido.");
        } else {
            $this->set('success', "Não foi possível excluir evento id: {$idEvento}.");
        }
        $resultado = $model->findAll();

        $this->set(array("resultado", "title_for_layout"), array($resultado, "Lista eventos - Sistema de Eventos"));
        $this->render("index");
    }

    function index() {
        $model = new Evento();
        $resultado = $model->findAll();

        $this->set(array("resultado", "title_for_layout"), array($resultado, "Lista eventos - Sistema de Eventos"));
    }

    function listar() {
        $model = new view_usucidcatgruins();
        $resultado = $model->findAll();

        $this->set(array("resultado", "title_for_layout"), array($resultado, "Lista inscrições - Sistema de Eventos"));
    }

    function buscacidade($params = NULL) {
        header('Content-type: application/json');
        $model = new Cidade();
        $id = (int) $params;
        if ($id === 0) {
            $result = $model->find2(array('conditions' =>
                array('nome like' => "$params%"),
                'limit' => 8,
                'order' => array('nome', 'uf')));
            $json = "{ \"cidades\" : [\n";
            foreach ($result as $value) {
                $json .= "{ \"id\" : " . (int) $value['id'] . ",\n";
                $json .= " \"uf\" : \"{$value['uf']}\",\n";
                $json .= " \"nome\" : \"{$value['nome']}\"},\n";
            }
            $json = substr($json, 0, -2);
            $json .= ']}';
        } else {
            $result = $model->find($id);
            $json = "{ \"cidades\" : [\n";
            $json .= "{ \"id\" : " . (int) $result->id . ",\n";
            $json .= " \"uf\" : \"{$result->uf}\",\n";
            $json .= " \"nome\" : \"{$result->nome}\"}";
            $json .= ']}';
        }
        echo $json;

        $this->autoLayout = FALSE;
        $this->autoRender = FALSE;
    }

}
?>

